# map函数应用:将一个函数作为参数传入，另一个参数为列表，对列表中所有元素进行统一计算
def lifang(x):
    return x ** 3


x = [1, 2, 3]
res = map(lifang, x)
print(res)
print(list(res))

# reduce函数应用：原理是先将列表中的前两个元素用指定函数fun进行处理，然后将返回值和列表中的
# 下一个元素再用指定函数fun进行处理得到结果
print("==" * 100)
from functools import reduce


def my_max(x, y):
    return x if x > y else y


r_list = [5, 2, 4, 8, 10, 4, 6]
r_res = reduce(my_max, r_list)
print(r_res)

print("==" * 100)


# 计算5！的值

def practice(x, y):
    return x * y


r_list2 = list(range(1, 6))
print(r_list2)
print(reduce(practice, r_list2))
